Lots of applications are increasingly using distributed system technologies such as network communication, local computing, and distributed objects. Different nodes in the distributed system may communicate with each other by local area networks supporting multicast messaging including, but not limited to, Ethernet. In such a system, it is usually required to synchronize the clocks among different nodes. The accuracy of clock synchronization is very important and has direct impact on the accuracy of clocks in local systems. Some applications require very high accuracy of clock synchronization especially in the system including a large number of nodes.
Generally speaking, the clock synchronization is done in the master-slave architecture. Typically, several messages can be exchanged between a master node and a slave node(s), such that the clock at the slave node is synchronized to the clock of the master node according to the timestamps of the transmission and reception of the messages. Conventionally the frame structure of the message packets can be only detected at the layer above the Medium Independent Interface (MII) between the Medium Access Control (MAC) layer and the physical (PHY) layer.